/**
 * Alipay.com Inc.
 * Copyright (c) 2004-2016 All Rights Reserved.
 */
package com.alipay.study;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
import org.springframework.cloud.client.loadbalancer.LoadBalanced;
import org.springframework.cloud.netflix.feign.EnableFeignClients;
import org.springframework.context.annotation.Bean;
import org.springframework.web.client.RestTemplate;

/**
 * @SpringBootApplication 申明一个spring boot应用，并且被注解的class为应用入口，默认扫描此类所在的包以及子包
 * @EnableDiscoveryClient 申明此应用是一个Eureka客户端,能提供服务，或者能消费服务
 * @EnableFeignClients  申明此应用是一个Feign客户端，可以通过Feign代理来消费Eureka客户端提供的服务
 * @author wb-qlj205528
 * @version $Id: ConsumerApplication.java, v 0.1 2016年11月16日 下午4:52:00 wb-qlj205528 Exp $
 */
@EnableFeignClients
@EnableDiscoveryClient
@SpringBootApplication
public class ConsumerApplication {

    /**
     * 
     * @Bean  spring boot 配置bean注解
     * @LoadBalanced   开启负载均衡配置  ,只有使用ribbon的时候需要显示的指定开启，使用Feign的时候是默认开启负载均衡的
     * @return
     */
    @Bean
    @LoadBalanced
    RestTemplate restTemplate() {
        return new RestTemplate();
    }

    /**
     * main 主入口
     * 
     * @param args
     */
    public static void main(String[] args) {
        SpringApplication.run(ConsumerApplication.class, args);
    }
}
